import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
import state from './module/state'
import mutations from './module/mutations'
import actions from './module/actions'
import getters from './module/getters'
let store = new Vuex.Store({
    // state:{//定义状态数据
    //     num:10
    // },
    // mutations:{//需改state中的数据唯一方法就是提交mutations
    //     changeNum(state){
    //         console.log('state',state)
    //         state.num++
    //     },
    //     // data 载荷
    //     // 不支持异步操作，请求的数据的不能放在这里
    //     changeNumX(state,data){
    //         console.log('state',state)
    //         state.num+=data
    //     },
    // },
     //         Action 类似于 mutation，不同在于：
    // Action 提交的是 mutation，而不是直接变更状态。
    // Action 可以包含任意异步操作。
    // actions: {
    //     increment (context) {
    //         console.log('context',context)
    //         // context.commit('mutations定义过的方法')
    //         context.commit('changeNum')
    //     },
    //     incrementX(context,data){
    //         // data以后就是ajax请求到的数据
    //         context.commit('changeNumX',data)
    //     }   

    // },
    
    // getters:{
    //     // 有时候我们需要从 store 中的 state 中派生出一些状态
    //     // 相当于我们学过的计算属性 对state中的数据进行额外处理
    //     getterNum(state){
    //         return '￥'+ state.num
    //     } 
    // }
    state,
    actions,
    mutations,
    state,
    getters
})
export default store
